//
//  UserProfileResponse.swift
//  Kosspot
//
//  Created by 李鑫 on 2025/6/24.
//


struct UserProfileResponse: BaseResponseProtocol {
    let msg: String
    let postGroup: String?
    let code: Int
    let data: UserData
    let roleGroup: String
}

struct UserData: Codable {
    let createBy: String?
    let createTime: String?
    let updateBy: String?
    let updateTime: String?
    let remark: String?
    let params: [String: String]?
    let userId: Int
    let deptId: Int?
    let userName: String
    let nickName: String
    let email: String?
    let phonenumber: String
    let sex: String
    let avatar: String
    let password: String
    let status: String
    let delFlag: String
    let loginIp: String
    let loginDate: String
    let dept: String?
    let roles: [Role]
    let roleIds: [Int]?
    let postIds: [Int]?
    let roleId: Int?
    let birthday: String
    let height: Double
    let weight: Double
    let targetSteps: Int
    let targetCalories: Int
    let targetDistance: Double?
    let admin: Bool
}

struct Role: Codable {
    let createBy: String?
    let createTime: String?
    let updateBy: String?
    let updateTime: String?
    let remark: String?
    let params: [String: String]?
    let roleId: Int
    let roleName: String
    let roleKey: String
    let roleSort: Int
    let dataScope: String
    let menuCheckStrictly: Bool
    let deptCheckStrictly: Bool
    let status: String
    let delFlag: String?
    let flag: Bool
    let menuIds: [Int]?
    let deptIds: [Int]?
    let permissions: [String]
    let admin: Bool
}
